package com.carrot.common.core.domain.vo;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author 刘红真
 */
@Data
public class PointProtocolIecVo implements Serializable {

    /**
     * 类型
     */
    private String type;

    /**
     * U帧内容
     */
    private UFrame uFrame;

    /**
     * S帧内容
     */
    private SFrame sFrame;

    /**
     * I帧内容
     */
    private IFrame iFrame;


    @Data
    public static class UFrame{
        /**
         * 命令
         */
        private String command;

        /**
         * 激活/确认
         */
        private String commandDirection;
    }

    @Data
    public static class SFrame{
        /**
         * 发送序列号
         */
        private Integer sendNumber;
        /**
         * 接收序列号
         */
        private Integer receiveNumber;
    }

    @Data
    public static class IFrame{
        /**
         * 发送序列号
         */
        private Integer sendNumber;
        /**
         * 接收序列号
         */
        private Integer receiveNumber;

        /**
         * 数据类型
         */
        private String typeIdentification;

        private String typeIdentificationName;

        /**
         * 传输原因
         */
//        private COT cot;
        private String transmitReason;

        /**
         * 客户端ID
         */
        private short clientId;

        /**
         * 是否连续
         */
        private boolean series;

        /**
         * 信息对象地址、值、时间戳列表
         */
        private List<InfoObjAddress> list;
    }

}
